1. Field of the Invention
The present invention relates to an optical system for loading information into computers, and pertains more particularly to a system utilizing a bar code in which at least one line thereof constitutes a Control Array line containing characters identifying the computer for which the program or data set has been written and at least one data line containing characters representing the information to be transmitted to the computer.
2. Description of the Prior Art
Over the past decade, significant advances in solid state technology and digital electronics have permitted the development of low cost digital computers which are used in an ever increasing number of industrial and consumer products. One segment of the computer industry which has grown rapidly in recent years is the "home computer" market which encompasses those digital computers which are used, for the most part, for personal rather than commercial applications and which are affordable to a large segment of the consuming public.
With the rapid growth of the computer market, there has been an accompanying growth in the computer software industry which provides computer programs usable with various computers. The number of programs available for most popular home computer models, for instance, has grown at an extremely rapid rate.
There are a number of ways in which a computer user can obtain a new program. First, the user can write the program himself. In many cases, however, this is not practical or desirable because the user either lacks the time or skill to write such a program, or because the program is already commercially available.
Second, the program may be printed in a computer magazine or book. In that case, the user normally has to enter the program through the keyboard of the computer. For many programs, this is a very time-consuming task and is very prone to errors.
Third, many programs are available to computer users in prerecorded form, either on magnetic tape cassettes, or on floppy disks. The tape cassette requires, of course, that the computer user have a tape recorder which can be used to play the cassette and supply signals to the computer through the cassette input port. In the case of the floppy disk, the computer user must have a floppy disk drive in order to transfer the program from the disk to the computer.
Another known way in which information can be stored is in the form of optical bar codes. At the present time, bar codes are used extensively in many fields to store information on products, packages and labels which can be read by machine and provided to a computer. One well-known example is the Uniform Product Code (UPC) which is found on most packages sold in grocery stores. The UPC bar code is read by a scanning system at the checkout counter, and a computer automatically determines the price of the product and provides a cash register receipt listing the product name and price. This eliminates the time-consuming and error prone manual checkout procedure which had been used for many years in grocery stores.
An optical bar code consists of a specific number of what have heretofore been referred to as light elements, modules or pixels, and which herein will be called "cells". Each cell is in the form of either a dark bar ("mark") or a light bar ("space"), the various dark and light bars being arranged parallel to one another. A "mark" represents a "1" and a "space" represents a "0". The bar code data is read by relative movement of the bar code with respect to an optical reader in a direction which is perpendicular to the marks and spaces.
The prerecording of computer programs or data on a printed sheet in the form of lines of optical bar code data is attractive, since it is well suited to mass production techniques, and can conveniently be distributed in magazine and book form. In recording computer information in the form of multiple lines of bar code on printed sheets, it is important to maximize the amount of data stored on a single sheet, so that an entire program or data set can be recorded on a single sheet or on a relatively small number of sheets. The bar codes and bar code readers used in the past, however, have had a much lower data density than is desirable for recording computer programs.
A typical prior art optical bar code uses nine cells to record four bits of information. Each four-bit "character" or "nibble" begins with a "mark", a "space", and a "mark" of single width (i.e. binary 101). The remaining six cells are used to designate the four bits of data. In reading the code, the reader must be capable of distinguishing between a single-cell bar containing a single "mark" and a double-cell bar containing two "marks" which are adjacent one another. Similarly, the reader must be able to distinguish between a single bar containing a single "space" and a double bar containing two "spaces" which are adjacent one another. The prior art code uses the "space" between two "marks" (i.e. binary 101) at the beginning of each character to obtain a timing value for a single-cell bar. This timing value is then compared to the time duration of each subsequent "mark" or "space" bar in the character to distinguish between single and double bars.
There is a need for an improved system for loading prerecorded computer programs or data into a digital computer, one that is both simple and reliable. This is achieved with a specially prepared bar code and the manner in which such data is scanned and processed, and transmitted to specific computers.